home *** CD-ROM | disk | FTP | other *** search
/ Amiga News 96 / Amiga News 96.iso / amig_ad_os / makecd_2.2b / doc / development / rock_ridge_amiga_specific < prev    next >
Text File  |  1997-06-02  |  12KB  |  272 lines

  1. +-------------------------------------------------------------------------
  2. | $Id: Rock_Ridge_Amiga_Specific 2.4 1996/12/05 21:20:52 angela Exp $
  3. +-------------------------------------------------------------------------
  4.  
  5. Description of the "AS" System Use Entry
  6.  
  7. The purpose of the "AS" System Use Entry is to record the complete set of
  8. file attributes defined for the Amiga operating system. This includes the
  9. protection flags plus an optional comment field. This System Use Entry is
  10. optional. If no "AS" System Use Entry is recorded in the System Use Area
  11. of a specific Directory Record, the defaults as described below shall be
  12. used.
  13.  
  14. If more than one "AS" System Use Entry is recorded in the System Use
  15. Field of a single Directory Record, or any extension thereof, only the
  16. first such recorded "AS" Entry may contain Amiga Protection Bits. Any
  17. additional "AS" Entry recorded for that same single Directory Record
  18. shall have the PROTECTION bit of the Flags field set to ZERO.
  19.  
  20. If more than one "AS" System Use Entry is recorded, only the first of
  21. them shall contain Amiga Protection Bits.
  22.  
  23. The format of the "AS" System Use Entry is as follows:
  24.  
  25. [1] "BP 1 to BP 2 - Signature Word" shall indicate that the System Use
  26.     Entry is a "AS" type System Use Entry. The bytes in this field shall
  27.     be (41)(53) ("AS").
  28.  
  29. [2] "BP 3 - Length (LEN_AS)" shall specify as an 8-bit number the length
  30.     in bytes of the "AS" System Use Entry. The number in this field shall
  31.     be 5, plus 4 if the PROTECTION bit of the Flags field is set to ONE, 
  32.     plus LEN_COMMENT, if the COMMENT bit of the Flags field is set to ONE.
  33.     This field shall be recorded according to ISO 9660: 7.1.1.
  34.  
  35. [3] "BP 4 - System Use Entry Version" shall specify as an 8-bit number an
  36.     identification of the version of the "AS" System Use Entry. The
  37.     number in this field shall be 1 for this version. This field shall be
  38.     recorded according to ISO 9660:7.1.1.
  39.  
  40. [4] "BP 5 - Flags" shall contain bit field flags numbered 0 to 7 starting
  41.     with the least significant bit as follows:
  42.  
  43.  
  44.                       TABLE 1.  AS Flags
  45.  
  46.     Position  Name        Value  Interpretation
  47.     --------  ----------  -----  --------------
  48.        0      PROTECTION   ONE   All of the 32 Protection Bits are
  49.                                  recorded.
  50.                            ZERO  None of the 32 Protection Bits are
  51.                                  recorded.
  52.        1      COMMENT      ONE   A comment field is recorded.
  53.                            ZERO  No comment field is recorded.
  54.        2      COMMENT      ONE   If a comment is recorded, this comment
  55.               CONTINUE           continues in next "AS" System Use Entry
  56.                                  of this System Use Area.
  57.                            ZERO  This is the last component of this
  58.                                  comment or no comment is recorded.
  59.       3-7     RESERVED     ZERO  Reserved for future use.
  60.  
  61.  
  62. [5] "BP 6 to LEN_AS - Amiga Extensions" shall be defined as follows:
  63.  
  64. [6] If PROTECTION in the Flags field is set to ONE, then the first four
  65.     bytes of the Amiga Extension field shall contain Amiga protection
  66.     bits. All four bytes shall contain bit field flags numbered 0 to 7
  67.     starting with the least significant bit, with each bit representing
  68.     a valid Amiga file system attribute. The four bytes are recorded as
  69.     follows:
  70.  
  71.  
  72.                    FIGURE 1.  Amiga Protection Flags
  73.  
  74.            BYTE 1    BYTE 2        BYTE 3            BYTE 4
  75.             User       0       Multiuser Flags   Protection Bits
  76.  
  77.  
  78.     Please note that BYTE 1 starts at an odd address relative to the "AS"
  79.     System Use Entry.
  80.  
  81.     Applications that are reading the Protection Flags must preserve all
  82.     four bytes. No bit shall be cleared or set.
  83.  
  84.  
  85. [6a] "BYTE 1 - User Bitfields" are available to users and/or programmers
  86.      for their own purposes. Usually, they all should be set to ZERO.
  87.  
  88. [6b] "BYTE 2 - Reserved Bitfields" is reserved for future use and will be
  89.      enhanced consistent with future modifications, if any, to the Amiga
  90.      protection bits set. Shall be set all to ZERO.
  91.  
  92. [6c] "BYTE 3 - Multiuser Flags" shall contain the following Multiuser
  93.      Attribute Flags:
  94.  
  95.  
  96.            TABLE 2.  Amiga Multiuser Attribute Flags
  97.  
  98.      Position  Character  Value  Interpretation
  99.      --------  ---------  -----  --------------
  100.        0           d       ONE   Object shall be deletable for group
  101.                                  members.
  102.                           ZERO   Object shall not be deletable for group
  103.                                  members.
  104.        1           e       ONE   Object shall be executable for group
  105.                                  members.
  106.                           ZERO   Object shall not be executable for group
  107.                                  members.
  108.        2           w       ONE   Object shall be writable for group
  109.                                  members.
  110.                           ZERO   Object shall not be writable for group
  111.                                  members.
  112.        3           r       ONE   Object shall be readable for group
  113.                                  members.
  114.                           ZERO   Object shall not be readable for group
  115.                                  members.
  116.        4           d       ONE   Object shall be deletable for other
  117.                                  users.
  118.                           ZERO   Object shall not be deletable for other
  119.                                  users.
  120.        5           e       ONE   Object shall be executable for other
  121.                                  users.
  122.                           ZERO   Object shall not be executable for other
  123.                                  users.
  124.        6           w       ONE   Object shall be writable for other
  125.                                  users.
  126.                           ZERO   Object shall not be writable for other
  127.                                  users.
  128.        7           r       ONE   Object shall be readable for other
  129.                                  users.
  130.                           ZERO   Object shall not be readable for other
  131.                                  users.
  132.  
  133.  
  134. [6d] "BYTE 4 - Protection Bits" shall contain the following Amiga
  135.      Attribute Flags:
  136.  
  137.  
  138.                 TABLE 3.  Protection Bits
  139.  
  140.      Position  Character  Value  Interpretation
  141.      --------  ---------  -----  --------------
  142.        0           d       ONE   Object shall not be deletable for owner.
  143.                           ZERO   Object shall be deletable for owner.
  144.        1           e       ONE   Object shall not be executable for owner.
  145.                           ZERO   Object shall be executable for owner.
  146.        2           w       ONE   Object shall not be writable for owner.
  147.                           ZERO   Object shall be writable for owner.
  148.        3           r       ONE   Object shall not be readable for owner.
  149.                           ZERO   Object shall be readable for owner.
  150.        4           a       ONE   Object is considered to be archived.
  151.                           ZERO   Object is not considered to be archived.
  152.                                  Usually should be set to ZERO.
  153.        5           p       ONE   Object is a reentrant executable.
  154.                           ZERO   Object is not a reentrant executable.
  155.        6           s       ONE   Object is an executable script file,
  156.                                  currently either ARexx or AmigaDOS.
  157.                                  Future modifications to the Amiga
  158.                                  scripting capabilities may allow other
  159.                                  use of this flag.
  160.                           ZERO   Object it not an executable script file.
  161.        7       RESERVED   ZERO   Reserved for future use.
  162.  
  163.  
  164.     Please note that the use of bits 0 to 3 is inverted compared to the
  165.     use of the other bits to match the AmigaOS use of the 32 Amiga bits
  166.     exactly.
  167.  
  168.  
  169. [7] If the COMMENT bit in the BP 5 is set to ONE, the following bytes
  170.     shall be interpreted as an Amiga Comment Extension.
  171.  
  172.  
  173.                 FIGURE 2.  Amiga Comment Extension
  174.  
  175.               BYTE 1         BYTE 2 to LEN_COMMENT
  176.            LEN_COMMENT              Comment
  177.  
  178.  
  179. [7a] "BYTE 1 - LEN_COMMENT" shall contain the byte length of this part of
  180.      the comment stored in this System Use Entry including the length
  181.      byte itself. This field shall be recorded according to
  182.      ISO 9660:7.1.1.
  183.  
  184. [7b] "BYTE 2 to LEN_COMMENT - Comment" shall contain a comment string
  185.      providing descriptive information about the file system object
  186.      associated with this entry. There is no restriction on the content
  187.      of the comment, except that it shall not contain any (00) character,
  188.      though it is recommended that the comment is a displayable string.
  189.      The comment shall not be (00) terminated. The length of the recorded
  190.      comment shall be LEN_COMMENT-1.
  191.  
  192.      If the COMMENT CONTINUE Flag in BP 5 is set, the comment shall
  193.      continue in the next "AS" System Use Field of this Direcory Record.
  194.      All comment parts (excluding the length byte) shall be concatenated
  195.      together, in the order in which they were recorded, until a COMMENT
  196.      CONTINUE flag with value ZERO is encountered, to obtain the entire
  197.      comment.
  198.  
  199. [8] The following default values shall be assumed for all unrecorded
  200.     components of the "AS" field.
  201.  
  202.     It is acceptable not to record protection bits in the "AS" entry if
  203.     the default mapping of the "PX" entry according to TABLE 6 will
  204.     result in the correct Amiga protection bit settings for the object.
  205.  
  206.     An empty "AS" entry need not be recorded. Filesystems shall make use
  207.     of the required "PX" entry if no "AS" entry or no protection bits in
  208.     that entry are present for an object.
  209.  
  210.  
  211.                  TABLE 5.  Default values for "AS"
  212.  
  213.       Description   Value
  214.       -----------   -----
  215.       PROTECTION    Defaults as described in table 6.
  216.       COMMENT       COMMENT_LEN set to (01).
  217.  
  218.  
  219.  
  220.               TABLE 6.  Default Amiga Protection Bits
  221.  
  222.     Byte Number   Bit Position    According "PX" bit or absolute value
  223.     -----------   ------------    ------------------------------------
  224.         1            0 to 7       ZERO
  225.  
  226.         2            0 to 7       ZERO
  227.  
  228.         3              0          S_IWGRP
  229.         3              1          S_IXGRP
  230.         3              2          S_IWGRP
  231.         3              3          S_IRGRP
  232.         3              4          S_IWOTH
  233.         3              5          S_IXOTH
  234.         3              6          S_IWOTH
  235.         3              7          S_IROTH
  236.  
  237.         4              0          inverted S_IWUSR
  238.         4              1          inverted S_IXUSR
  239.         4              2          inverted S_IWUSR
  240.         4              3          inverted S_IRUSR
  241.         4              4          ZERO
  242.         4              5          ZERO
  243.         4              6          ZERO
  244.         4              7          ZERO
  245.  
  246.  
  247.     When generating the multiuser flags, please note that a user who
  248.     wants to make a backup on CD-ROM usually does not want his data being
  249.     world-accessable, while someone, who creates a commercial CD-ROM
  250.     usually wants a world-wide-accessable CD-ROM.
  251.  
  252.  
  253.                 FIGURE 3.  "AS" System Use Entry
  254.  
  255.        "A"     "S"    LEN_AS     1     FLAGS    AMIGA EXTENSIONS
  256.       (BP1)   (BP2)   (BP3)    (BP4)   (BP5)    (BP7 to LEN_AS)
  257.  
  258.  
  259.  
  260.  
  261. This document has been developed by Angela Schmidt 
  262. <Angela.Schmidt@stud.uni-karlsruhe.de>, with the help of Andrew Young
  263. <ayoung@mail.deltanet.com> (primary author of the Rock Ridge Interchange 
  264. Protocol and System Use Sharing Protocol), and is supported by Martin
  265. Berndt <m_berndt@wanderer.gun.de> (author of AmiCDFS), Oliver Kastl
  266. (author of CacheCDFS), Paul Reeves (author of AsimCDFS and MasterISO),
  267. Heinz Wrobel <heinz@hwg.muc.de> and Bernhard Möllemann
  268. <zza@mhystic.hall.sub.org>.
  269.  
  270. For suggestions, please email Angela Schmidt
  271. <Angela.Schmidt@stud.uni-karlsruhe.de>.
  272.